package com.platform.car.dao;

import com.platform.car.model.Parking;
import com.platform.car.model.Parkuse;
import com.platform.common.annotation.MyBatisDao;
import com.platform.common.base.dao.BaseDao;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@MyBatisDao
public interface ParkuseDao extends BaseDao<Parkuse> {

    /**
     * 根据车牌和预约的状态查询
     * @param parkuse
     * @return
     */
    List<Parkuse> selectByPlate(@Param(value = "param") Parkuse parkuse);

    /**
     * 根据用户的ID和车牌号查询
     * @param parkuse
     * @return
     */
    Parkuse selectOrder(Parkuse parkuse);

    /**
     * 根据用户的ID、车牌、预约状态查看用户是否已经预约过
     * @param parkuse
     * @return
     */
    Long countNumber(Parkuse parkuse);

    /**
     * 根据用户的ID、车牌查看是否有超时未处理
     * @param parkuse
     * @return
     */
    Long  countNum(Parkuse parkuse);

    /**
     * \根据车牌号码和预约状态 查询车位使用表
     * @param parkuse
     * @return
     */
    Parkuse selectByCpAndStatus(Parkuse parkuse);

    /**
     * 根据预约的Id查询预约的详情
     * @param id
     * @return
     */
    Parkuse parkuseDetail(String id);

    /**
     * 根据用户的ID、ID、预约状态或车牌号查询
     * @param parkuse
     * @return
     */
    List<Parkuse> selectOrderList(Parkuse parkuse);

    /**
     * 根据用户的状态查询预约
     * @param status
     * @return
     */
    List<Parkuse> selectByStatus(String status);
}
